package com.qf.util;


import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import javax.servlet.http.HttpServletRequest;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;


public class Base64AndPicture {

	public static void main(String[] args) {
		//String strImg = GetImageStr();
		//System.out.println(strImg);
	//	String strImg = "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";
		//String imgSaveUrl = "d:/test.png";
		//GenerateImage(strImg,imgSaveUrl);
	}

	// 图片转化成base64字符串
	public static String GetImageStr(String imgUrl) {// 将图片文件转化为字节数组字符串，并对其进行Base64编码处理
		//String imgFile = "C:/Users/Star/Desktop/test.png";// 待处理的图片
		InputStream in = null;
		byte[] data = null;
		// 读取图片字节数组
		try {
			in = new FileInputStream(imgUrl);
			data = new byte[in.available()];
			in.read(data);
			in.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
		// 对字节数组Base64编码
		BASE64Encoder encoder = new BASE64Encoder();
		return encoder.encode(data);// 返回Base64编码过的字节数组字符串
	}

	// base64字符串转化成图片
	public static String GenerateImage(HttpServletRequest request,String imgStr,String relroot) { // 对字节数组字符串进行Base64解码并生成图片
		if (imgStr == null) // 图像数据为空
			return null;
		String newName = UploadTools.reName("")+".png";
		//String imgUrl = "shopImages/commodity/"+UploadTools.reName("")+".png";
		String path = request.getSession().getServletContext().getRealPath(relroot); 
		File targetFile = new File(path, newName);
		String imagePath = relroot +"/"+ newName;
		if (!targetFile.getParentFile().exists()) {
			targetFile.getParentFile().mkdirs();
		}
		BASE64Decoder decoder = new BASE64Decoder();
		try {
			// Base64解码
			byte[] b = decoder.decodeBuffer(imgStr);
			for (int i = 0; i < b.length; ++i) {
				if (b[i] < 0) {// 调整异常数据
					b[i] += 256;
				}
			}
			// 生成jpeg图片
			//String imgFilePath = "d:/test22.png";// 新生成的图片
			OutputStream out = new FileOutputStream(targetFile);
			out.write(b);
			out.flush();
			out.close();
			return imagePath;
		} catch (Exception e) {
			return null;
		}
	}
}